#!/usr/bin/python3
"""
通过对vcenter数据库中保存的存储空间数据获取，并发送给zabbix监控来实现监控存储的使用空间。
注意：
1.zabbix_sender工具的路径；
2.-z后面指定的服务器地址；
3.-s后面指定的主机名；
4.key关键字要和zabbix web端定义的key一致。
"""
import mytool.zabbix.discovery_storage.discovery_ruls as dis
import os

exe = '/server/zabbix/bin/zabbix_sender -z 172.23.8.160 -s zabbix_server -k {} -o {}'
server = '172.23.8.166'
host = 'Datastore'
key = 'storage.{}[{}]'
# storage_data_st = dis.get_data('st', 'name,free')
storage_data_st = dis.get_data('st', 'name,free')
storage_data_db = dis.get_data('db', 'name,free')


for n, datas in enumerate([storage_data_st, storage_data_db]):
    for data in datas:
        human_value = round(int(data[1]) / 1024 / 1024 / 1024, 2)
        print(data)
        storage_type = ''
        if n == 0:
            storage_type = 'st'
        elif n == 1:
            storage_type = 'db'
        os.popen(exe.format(key.format(storage_type, data[0]), human_value))